/*
 * Copyright (c) 2025 CAX Conversion Project
 */
package com.comac.ins.isfd.domain.bo;

import com.comac.ins.common.core.validate.AddGroup;
import com.comac.ins.common.core.validate.EditGroup;
import com.comac.ins.common.mybatis.core.domain.BaseEntity;
import com.comac.ins.isfd.domain.IsfdModelManagementCard;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * ISFD模型管理单元卡业务对象 isfd_model_management_card
 *
 * @author Lion Li
 * @date 2024-11-15
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = IsfdModelManagementCard.class, reverseConvertGenerate = false)
public class IsfdModelManagementCardStructBo extends BaseEntity {

    /**
     * 目录分类：
     * model_management_part_data_prefix 零件目录，
     * model_management_part_temp_prefix 零件临时目录，
     * model_management_necessary_items_data_prefix 必备件目录，
     * model_management_load_data_prefix 载荷目录，
     * model_management_boundary_data_prefix 边界条件目录
     */
    private String classification;

    /**
     * 自增主键
     */
    @NotNull(message = "自增主键不能为空", groups = {EditGroup.class})
    private Long id;

    /**
     * 批次
     */
    private String batchNumber;

    /**
     * 是否为注释，注释为1
     */
    private String type;

    /**
     * 零件id
     */
    @NotNull(message = "零件id不能为空！", groups = {AddGroup.class, EditGroup.class})
    private Long partId;

    /**
     * 机型编号
     */
    private String modelNumber;

    /**
     * 部段编号
     */
    private String sectionNumber;

    /**
     * 组件号
     */
    private String componentNumber;

    /**
     * 零件编号
     */
    private String partNumber;

    /**
     * 版本号
     */
    private String versionNumber;
}
